OAction("first", {
	all: function(decider){
		var obj = this.obj();
		
		if (!decider) {
			return this.get(0);
		} else {
			var found = null;
			this.each(function(o){
				if (OCheck(o, decider)) {
					found = o;
					return false;
				}
			});
			return found;
		}
	}
});

OProvides("objx.first");